// 说出以下代码的执行顺序

// console.log("script start");
// setTimeout(function () {
//   console.log("setTimeout");
// }, 0);

// Promise.resolve()
//   .then(function () {
//     console.log("promise1");
//   })
//   .then(function () {
//     console.log("promise2");
//   });

// console.log("script end");

// 同步执行
// 3  16

// 宏任务 4

// 微任务 10  12

// script start
// script end
// promise1
// promise2
// setTimeout

Promise.resolve().then(() => {
  console.log("Promise1");
  setTimeout(() => {
    console.log("setTimeout2");
  }, 0);
});
setTimeout(() => {
  console.log("setTimeout1");
  Promise.resolve().then(() => {
    console.log("Promise2");
  });
}, 0);

// 同步任务
// 微任务 Promise1 Promise2
// 宏任务 setTimeout1 setTimeout2

// Promise1
// setTimeout1

// setTimeout2
// Promise2
